Prev Next

High Octane: Mixing Threads with Callbacks
or
You can't talk to a psycho like a normal human being
by Jonathan 'Wolf' Rentzsch (jon@redshed.net)

Prev Next

Last Year

Prev Next

Traditional Threading Methodology
(develop, PowerPlant and polling)

Prev Next

Traditional Threading Methodology Illustrated

ThreadCallback
Enqueue the job
Go To Sleep
(Called from Toolbox)
Awake Thread
Return to Toolbox
Do Anything

Prev Next

Problems with the Traditional Threading Methodology

Prev Next

Problems with the Traditional Threading Methodology

Prev Next

XThreads: A Lower Latency Model

Prev Next

XThreads: A Lower Latency Model

Prev Next

XThreads: A Lower Latency Model

Prev Next

XThreads: The Fastest Model Until Today

Prev Next

Fight the Future (Latency)
ThreadCallback
Mark thread as ineligible for time
Enqueue the job
Yield
(Called from Toolbox)
Push callback state onto special "pulsar" stack
Switch to thread
Do Anything
Yield
(Popped and reloaded from pulsar stack by the scheduler)
Return to Toolbox

Prev Next

Red Shed Threads

Prev Next

Red Shed Threads Pros

Prev Next

Red Shed Threads Cons

Prev Next

Red Shed Threads & Toolbox:
Device & File Manager

Prev Next

Red Shed Threads & Toolbox:
Open Transport

Prev Next

Red Shed Threads & Toolbox:
Apple Events

Prev Next

Red Shed Threads & Toolbox:
Apple Events

Prev Next

Red Shed Threads & Mac OS X